package pe.edu.upc.dew.puntos.dao;

import pe.edu.upc.dew.puntos.Model.*;
import java.util.ArrayList; 

// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.DDF5D66B-27B2-B1FB-5E3A-188D1EF0158D]
// </editor-fold> 
public class CtrlRegistroCanje {

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.26BD0C19-60D1-6FD4-01E3-C90982924632]
    // </editor-fold> 
    private ArrayList<Canje> canjes;
    private Integer correlativoCanje=0;
    
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.2F0711A5-8200-3812-2C4E-CB6710572075]
    // </editor-fold> 
    public CtrlRegistroCanje () {
        this.canjes = new ArrayList<Canje>();
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.ED2EEAAC-EEFB-2635-029E-96D4B32EF743]
    // </editor-fold> 
    public ArrayList<Canje> getCanjes () {
        return canjes;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.FB6A2804-92BA-19FB-BD8E-606261D7C4CF]
    // </editor-fold> 
    public void setCanjes (ArrayList<Canje> val) {
        this.canjes = val;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.A02F10AE-E097-B903-62E3-AC5E13B10BF1]
    // </editor-fold> 
    public void registrarCanje (LugarPromocion lugarPromocion, Cliente cliente, Vendedor vendedor, String tipoRegla, Integer puntosUsados, double dineroUsado) {
        this.correlativoCanje = this.correlativoCanje + 1;
        Canje NuevoCanje = new Canje(this.correlativoCanje,lugarPromocion,cliente,vendedor,tipoRegla,puntosUsados,dineroUsado);
        this.canjes.add(NuevoCanje);
        
        cliente.setPuntos(cliente.getPuntos() - puntosUsados);
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.A0CDD03F-0607-2A68-1080-1A1ACB213631]
    // </editor-fold> 
    public Canje buscarCanje (Integer codCanje) {
        Canje canjeEncontrado=null;
        for(Canje canje : this.canjes){
            if(canje.getCodCanje()== codCanje)
            {  canjeEncontrado = canje;
               break;
            }
        }    
        return canjeEncontrado; 
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.4E0828F7-3344-A400-E4A1-3346331CBB24]
    // </editor-fold> 
    public void eliminarCanje (Integer codCanje) {
        Canje canje = this.buscarCanje(codCanje);
        this.canjes.remove(canje);
    }
}

